package com.huilian.iotbox.admin.wap.service;

import com.github.pagehelper.PageInfo;
import com.huilian.iotbox.data.common.ServerResponse;
import com.huilian.iotbox.data.dto.StatsStoreDto;
import com.huilian.iotbox.data.dto.StatsUserDto;
import com.huilian.iotbox.data.vo.StatsStoreVo;
import com.huilian.iotbox.data.vo.StatsUserVo;

import java.math.BigDecimal;
import java.text.ParseException;
import java.util.List;
import java.util.concurrent.ExecutionException;

/**
 * @author 谢洛涛
 * @date 2021/5/8 10:53
 */
public interface StatsStoreService {
    List<StatsStoreVo> findStoreStatisticsList(StatsUserVo statsUserVo);

    StatsStoreVo findStoreStatistics(StatsStoreDto statsStoreDto);

    List<StatsStoreVo> findOrderStatisticsList(StatsUserVo statsUserVo);


    List<StatsStoreVo> findByDateStore(StatsUserDto statsUserDto);

    BigDecimal findThisMonthTurnover(StatsUserDto statsUserDto);

    ServerResponse findAllStoreStatisticsByUserIdAndDateTime(StatsStoreDto statsStoreDto);

    ServerResponse findStatsStoreByApplet(StatsStoreDto statsStoreDto);

    void statsStoreDenomination(Integer[] merchantStoreIdArray, String startTime, String endTime, StatsStoreVo sStore);

    StatsStoreVo findStatsStoreByMerchantStoreIdArray(StatsStoreDto statsStoreDto);

    List<StatsStoreVo> findStoreStats(StatsStoreDto statsStoreDto);

    List<StatsStoreVo> findStoreStatsTwo(StatsStoreDto statsStoreDto);

    /**
     * 根据开始结束时间, 场地ID, 查询日或月的统计数据
     */
    List<StatsStoreVo> findStoreStatsStateList(StatsStoreDto statsStoreDto);


    StatsStoreVo findAllStatsStoreList(StatsStoreDto statsStoreDto);

    ServerResponse findStatsStoreBranchHead(StatsStoreDto statsStoreDto) throws ExecutionException, InterruptedException;

    StatsStoreVo findStatsStoreByStoreId(StatsStoreDto statsStoreDto);

    ServerResponse findStatsStoreBranchData(StatsStoreDto statsStoreDto);
}
